package com.njupt.simulation.entity;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.HashMap;
import java.util.List;
import java.util.Map;


@Data
@AllArgsConstructor
@NoArgsConstructor
public class LeoSatellite implements Node{
    private  Integer id;
    //低轨卫星名称
    private String leoName;
    //馈电链路的邻频边带判断
    private int feederTransAdjacentBandFlag;
    //馈电链路邻频边带参数
    private List<AdjacentBand> feederTransAdjacentBand;
    //低轨卫星馈电链路发射频段最小值
    private double feederTransFreqMin;
    //低轨卫星馈电链路发射频段最大值
    private double feederTransFreqMax;
    //馈电链路发射功率
    private double feederTransmitPower;
    //馈电链路极化方式
    private String feederPolarization;
    //低轨卫星馈电链路接收频段最小值
    private double feederReceiveFreqMin;
    //低轨卫星馈电链路接收频段最大值
    private double feederReceiveFreqMax;
    //用户链路的邻频边带判断
    private int userTransAdjacentBandFlag;
    //馈电链路邻频边带参数
    private List<AdjacentBand> userTransAdjacentBand;
    //低轨卫星用户链路发射频段最小值
    private double userTransFreqMin;
    //低轨卫星用户链路发射频段最大值
    private double userTransFreqMax;
    //用户链路发射功率
    private double userTransmitPower;
    //用户链路极化方式
    private String userPolarization;
    //低轨卫星用户链路接收频段最小值
    private double userReceiveFreqMin;
    //低轨卫星用户链路接收频段最大值
    private double userReceiveFreqMax;
    //等效噪声温度
    private double noiseTemperature;
    //天线类型
    private String antennaConfigType;
    //天线增益
    private double gain;
    //3dB波束角宽度
    private double beamWidth;
    //天线效率
    private double efficiency;
    //近轴旁瓣电平
    private double sideLobeLevelNear;
    //远轴旁瓣电平
    private double sideLobeLevelFar;
    //星历文件解析第一行数据
    private String line1;
    //星历文件解析第二行数据
    private String line2;
    //星历文件解析第三行数据
    private String line3;

}
